In a typical MIMO channel of a wireless communications system, as depicted in FIG. 1, the number of co-channel transmit antennas is denoted by N and the number of co-channel receive antennas is denoted by M. Each transmit antenna sends a signal that represents digital information and each receive antenna receives a signal from each transmit antenna. Generally, the transmitted signal will be changed by propagation between the transmit and receive antennas, ie. by propagation across the channel. For example, the transmitted signal may be subject to ‘flat fading’, in which the effect of propagation across the channel can be represented by multiplication of the transmitted signal by a number, which number represents the effect of the channel. In addition, at the receive antennas, noise will be present, which adds to the signal received from the transmit antennas.
Considering a simple modulation scheme, such as binary phase shift keying, a +1 is sent to represent a binary bit ‘1’ and a −1 is sent to represent a binary bit ‘0’. If there is one transmit antenna (N=1), then there are two possible signals that could be received from the transmit antenna, a +1 or a −1. MLD is known to be the optimum detection algorithm for use in the receiver of a MIMO channel for deciding whether a +1 or a −1 was transmitted.
MLD detects all N streams of data sent across the channel in parallel, by searching over all possibilities of what could have been transmitted and choosing the one of the possible transmitted signals which yields a received signal closest, in terms of Euclidean Distance, to what was actually received. The idea is to reconstruct the signal that would have been received had no noise been present. Referring back to the simplest case example above, there are two possible transmitted signals, and from these, two ideal possible received signals are created. The ideal received signals are then compared with what was actually received and the ideal signal which is closest to what was actually received is selected as the most likely ideal transmitted signal. This is the signal that the MLD system detects. If the noise is very severe then the wrong ideal signal may be selected, however the channel will operate satisfactorily, provided such errors do not occur too often. The advantage of MLD is that fewer such errors are made as compared to other systems for detecting multi-stream data transmissions over a MIMO channel of a communications system in the channel receiver.
A problem with MLD is when the number N of transmit antennas, ie. the number of transmitted data streams increases. Using a binary phase shift keying modulation scheme, the number of possible ideal signals is 2N which increases rapidly with N making the computational workload required to implement MLD extremely high. This problem is further exacerbated when a more complex modulation scheme such as 4-QAM or 16QAM is used to send more data bits across the channel simultaneously. For example, in 16-QAM there are 16 possible signals that could be transmitted by each antenna allowing 4 bits of data to be transmitted simultaneously. In this case the number of possible ideal signals is 16N. For many situations of practical interest the number of possible ideal signals is simply too high and the computational load becomes unmanageable.
As illustrated in FIG. 2, the set of possible transmitted signals can be represented as a multi-dimensional array or lattice of transmitted signal points in an input (transmitted) signal space. Similarly, the set of corresponding possible ideal received signals can be represented as a multi-dimensional array or lattice of ideal received signal points in an output (received) signal space. A channel mapping can be applied to the signal points in the input space to generate the corresponding signal points in the output space, which represents the effect of the channel on the transmitted signal. A channel pseudo-inverse mapping (an inverse mapping to the channel mapping) can be applied to the signal points in the output space to generate the corresponding signal points in the input space.
In order to reduce computational load, a refinement of MLD has been implemented, known as Generalised Sphere Decoding (GSD). GSD reduces complexity by bounding the search to consider only possible ideal received signal points that lie within a hypersphere in output (received) signal space, centred at the actual received signal, as shown in FIG. 2. In fact the search is done in input (transmitted) signal space, and so the process involves identifying those transmitted signal points within the lattice, which fall within a hyperellipsoid, which is the mapping of the hypersphere into input space. Provided that the hyperellipsoid is chosen to be large enough that at least one signal point falls inside it, then those signal points lying outside the hyperellipsoid cannot be the most likely transmitted signal point. The signal points lying outside of the hyperellipsoid can thus be discarded at an early stage. GSD transforms only the remaining signal points located within the hyperellipsoid into output signal space using the channel mapping, to generate a set of ideal received signal points. Then GSD calculates the Euclidean Distance between each of the ideal received signal points in the set and the actual received signal point. The ideal received signal point with the smallest Euclidean Distance is selected as corresponding to the maximum likelihood ideal transmitted signal. The problem with the GSD is that the search to identify transmitted signal points in the input signal space lying within the hyperellipsoid can have a high computational load.